package com.ruoyi.system.service.impl;

import java.util.List;

import com.ruoyi.common.core.utils.DateUtils;
import com.ruoyi.system.domain.vo.WxMiniRoleVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.common.core.utils.SecurityUtils;
import com.ruoyi.system.mapper.WxMiniMenuMapper;
import com.ruoyi.system.domain.WxMiniMenu;
import com.ruoyi.system.service.IWxMiniMenuService;

/**
 * 小程序功能模块Service业务层处理
 *
 * @author yy
 * @date 2021-11-03
 */
@Service
public class WxMiniMenuServiceImpl implements IWxMiniMenuService {
    @Autowired
    private WxMiniMenuMapper wxMiniMenuMapper;

    /**
     * 查询小程序功能模块
     *
     * @param id 小程序功能模块ID
     * @return 小程序功能模块
     */
    @Override
    public WxMiniMenu selectWxMiniMenuById(Long id) {
        return wxMiniMenuMapper.selectWxMiniMenuById(id);
    }

    /**
     * 查询小程序功能模块列表
     *
     * @param wxMiniMenu 小程序功能模块
     * @return 小程序功能模块
     */
    @Override
    public List<WxMiniMenu> selectWxMiniMenuList(WxMiniMenu wxMiniMenu) {
        return wxMiniMenuMapper.selectWxMiniMenuList(wxMiniMenu);
    }

    /**
     * 新增小程序功能模块
     *
     * @param wxMiniMenu 小程序功能模块
     * @return 结果
     */
    @Override
    public int insertWxMiniMenu(WxMiniMenu wxMiniMenu) {
        wxMiniMenu.setCreateTime(DateUtils.getNowDate());
        wxMiniMenu.setCreateBy(SecurityUtils.getUsername());
        return wxMiniMenuMapper.insertWxMiniMenu(wxMiniMenu);
    }

    /**
     * 修改小程序功能模块
     *
     * @param wxMiniMenu 小程序功能模块
     * @return 结果
     */
    @Override
    public int updateWxMiniMenu(WxMiniMenu wxMiniMenu) {
        wxMiniMenu.setUpdateTime(DateUtils.getNowDate());
        wxMiniMenu.setUpdateBy(SecurityUtils.getUsername());
        return wxMiniMenuMapper.updateWxMiniMenu(wxMiniMenu);
    }

    /**
     * 批量删除小程序功能模块
     *
     * @param ids 需要删除的小程序功能模块ID
     * @return 结果
     */
    @Override
    public int deleteWxMiniMenuByIds(Long[] ids) {
        return wxMiniMenuMapper.deleteWxMiniMenuByIds(ids);
    }

    /**
     * 删除小程序功能模块信息
     *
     * @param id 小程序功能模块ID
     * @return 结果
     */
    @Override
    public int deleteWxMiniMenuById(Long id) {
        return wxMiniMenuMapper.deleteWxMiniMenuById(id);
    }

    @Override
    public List<WxMiniRoleVo> selectMenusWithRole(Long roleId) {
        return wxMiniMenuMapper.selectMenusWithRole(roleId);
    }

    @Override
    public List<WxMiniRoleVo> selectMenusWithRoles(List<String> roleIds) {
        return wxMiniMenuMapper.selectMenusWithRoles(roleIds);
    }
}
